home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #11 / Amiga Plus CD - 2002 - No. 11.iso / Tools / Development / PowerD / Dmod / dmod_Identify / modules / libraries / identify.m < prev   
Text File  |  2002-10-28  |  16KB  |  359 lines

  1. /*
  2. **      $VER: identify.e 13.0 (11.09.2001) #MODULE © Richard Körber
  3. **
  4. **      identify.library definitions
  5. **
  6. **      (C) Copyright 1996-2000 Richard Körber
  7. **      All Rights Reserved.
  8. **
  9. **      AmigaE help by Roger Hågensen <emsai@online.no>
  10. **
  11. **      Converted to PowerD by Kai Wolf <Das_Leiden@gmx.de>
  12. */
  13.  
  14.  
  15. // Generic library informations
  16.  
  17. #define IDENTIFYNAME 'identify.library'
  18.  
  19. CONST IDENTIFYVERSION=13           // Lowest version to be used
  20.  
  21. CONST IDENTIFYBUFLEN=$32           // default buffer length
  22.  
  23.  
  24. // Expansion() tags
  25.  
  26. CONST IDTAG_ConfigDev  =$CD450000, // (struct ConfigDev *) ConfigDev
  27.                                    // structure to be evaluated
  28.       IDTAG_ManufID    =$CD450001, // UWORD manufacturer ID if no
  29.                                    // ConfigDev is available
  30.       IDTAG_ProdID     =$CD450002, // UBYTE product ID if no
  31.                                    // ConfigDev is available
  32.       IDTAG_StrLength  =$CD450003, // UWORD of maximum buffer length,
  33.                                    // including termination. Default is 50.
  34.       IDTAG_ManufStr   =$CD450004, // STRPTR of manufacturer name
  35.                                    // buffer, or NULL
  36.       IDTAG_ProdStr    =$CD450005, // STRPTR of product name
  37.                                    // buffer, or NULL
  38.       IDTAG_ClassStr   =$CD450006, // STRPTR of product class
  39.                                    // buffer, or NULL
  40.       IDTAG_DeadStr    =$CD450007, // STRPTR deadend or recoverable alert?
  41.       IDTAG_SubsysStr  =$CD450008, // STRPTR alert subsystem
  42.       IDTAG_GeneralStr =$CD450009, // STRPTR alert general cause
  43.       IDTAG_SpecStr    =$CD45000A, // STRPTR alert specific cause
  44.       IDTAG_FuncNameStr=$CD45000B, // STRPTR function name
  45.       IDTAG_Expansion  =$CD45000C, // (struct ConfigDev **) for a complete
  46.                                    // expansion check. Init the variable
  47.                                    // with NULL.
  48.       IDTAG_Secondary  =$CD45000D, // BOOL warn for secondary expansion
  49.                                    //  boards (defaults to FALSE)
  50.       IDTAG_ClassID    =$CD45000E, // ULONG * class ID of the provided
  51.                                    //  expansion board (see below) [V8]
  52.       IDTAG_Localize   =$CD45000F, // BOOL return localized strings
  53.                                    //  (defaults to TRUE) [V8]
  54.       IDTAG_NULL4NA    =$CD450010  // BOOL return NULL for not available,
  55.                                    //  else return a string (defaults to
  56.                                    //  FALSE) [V8]
  57.  
  58.  
  59. // Hardware description types
  60.  
  61. CONST IDHW_SYSTEM=0,               // System (Amiga,DraCo,...) [V2]
  62.       IDHW_CPU=1,                  // CPU (68000,68010,...,68060)
  63.       IDHW_FPU=2,                  // FPU (---,68881,68882,68040,68060)
  64.       IDHW_MMU=3,                  // MMU (---,68852,68030,68040,68060)
  65.       IDHW_OSVER=4,                // OS Version (V*.*)
  66.       IDHW_EXECVER=5,              // Exec Version (V*.*)
  67.       IDHW_WBVER=6,                // Workbench Version (---,V*.*)
  68.       IDHW_ROMSIZE=7,              // OS ROM Size (*KB, *MB)
  69.       IDHW_CHIPSET=8,              // Chipset (OCS,ECS,AGA,DraCo)
  70.       IDHW_GFXSYS=9,               // Graphic OS (AmigaOS, CyberGraphX ...)
  71.       IDHW_CHIPRAM=10,             // All Chip RAM (*KB, *MB, *GB)
  72.       IDHW_FASTRAM=11,             // All Fast RAM (*KB, *MB, *GB)
  73.       IDHW_RAM=12,                 // All Total RAM (*KB, *MB, *GB)
  74.       IDHW_SETPATCHVER=13,         // SetPatch Version (---,V*.*) [V4]
  75.       IDHW_AUDIOSYS=14,            // Audio OS (AmigaOS, AHI, ...) [V5]
  76.       IDHW_OSNR=15,                // AmigaOS (2.04, 3.1, ...)
  77.       IDHW_VMMCHIPRAM=16,          // VMM Chip RAM (*KB, *MB, *GB)
  78.       IDHW_VMMFASTRAM=17,          // VMM Fast RAM (*KB, *MB, *GB)
  79.       IDHW_VMMRAM=18,              // VMM Total RAM (*KB, *MB, *GB)
  80.       IDHW_PLNCHIPRAM=19,          // Plain Chip RAM (*KB, *MB, *GB)
  81.       IDHW_PLNFASTRAM=20,          // Plain Fast RAM (*KB, *MB, *GB)
  82.       IDHW_PLNRAM=21,              // Plain Total RAM (*KB, *MB, *GB)
  83.       IDHW_VBR=22,                 // Vector Base Register [V6]
  84.       IDHW_LASTALERT=23,           // Last Alert code
  85.       IDHW_VBLANKFREQ=24,          // VBlank Frequency
  86.       IDHW_POWERFREQ=25,           // Power Frequency Power Frequency
  87.       IDHW_ECLOCK=26,              // EClock EClock
  88.       IDHW_SLOWRAM=27,             // Plain Slow RAM (*KB, *MB, *GB)
  89.       IDHW_GARY=28,                // Gary (---,Normal,...)
  90.       IDHW_RAMSEY=29,              // RAMSEY (---,D,F)
  91.       IDHW_BATTCLOCK=30,           // Battery Backed Up Clock (---,Found)
  92.       IDHW_CHUNKYPLANAR=31,        // Chunky To Planar Hardware (---,Found) [V7]
  93.       IDHW_POWERPC=32,             // PowerPC present? (---,Found)
  94.       IDHW_PPCCLOCK=33,            // PowerPC clock (unit MHz)
  95.       IDHW_CPUREV=34,              // CPU revision                          [V8]
  96.       IDHW_CPUCLOCK=35,            // CPU clock (unit MHz)
  97.       IDHW_FPUCLOCK=36,            // FPU clock (unit MHz)
  98.       IDHW_RAMACCESS=37,           // Main board RAM access time (unit ns)
  99.       IDHW_RAMWIDTH=38,            // Main board RAM width (bit)
  100.       IDHW_RAMCAS=39,              // Main board RAM CAS mode
  101.       IDHW_RAMBANDWIDTH=40,        // Main board RAM bandwidth
  102.       IDHW_TCPIP=41,               // TCP/IP stack                          [V9]
  103.       IDHW_PPCOS=42,               // PowerPC OS
  104.       IDHW_AGNUS=43,               // Agnus chip revision
  105.       IDHW_AGNUSMODE=44,           // Agnus chip mode
  106.       IDHW_DENISE=45,              // Denise chip version                   [V10]
  107.       IDHW_DENISEREV=46,           // Denise chip revision
  108.       IDHW_BOINGBAG=47,            // BoingBag number                       [V12]
  109.       IDHW_EMULATED=48,            // Emulated Amiga                        [V13]
  110.       IDHW_XLVERSION=49,           // AmigaXL version
  111.       IDHW_HOSTOS=50,              // when emulated: Host OS (see autodocs!)
  112.       IDHW_HOSTVERS=51,            // when emulated: Host Version (see autodocs!)
  113.       IDHW_HOSTMACHINE=52,         // when emulated: Host Machine (see autodocs!)
  114.       IDHW_HOSTCPU=53,             // when emulated: Host CPU (see autodocs!)
  115.       IDHW_HOSTSPEED=54,           // when emulated: Host CPU speed (unit MHz, see autodocs!)
  116.       IDHW_NUMBEROF=55             // Number of types, PRIVATE!
  117.  
  118.  
  119. // IDHW_SYSTEM numerical result codes
  120.  
  121. CONST IDSYS_AMIGA1000=0,           // Amiga 1000
  122.       IDSYS_AMIGAOCS=1,            // OCS Amiga 500/2000
  123.       IDSYS_AMIGAECS=2,            // ECS Amiga 500/2000
  124.       IDSYS_AMIGA500=3,            // Amiga 500
  125.       IDSYS_AMIGA2000=4,           // Amiga 2000
  126.       IDSYS_AMIGA3000=5,           // Amiga 3000
  127.       IDSYS_CDTV=6,                // CDTV
  128.       IDSYS_AMIGA600=7,            // Amiga 600
  129.       IDSYS_CD32=8,                // CD32
  130.       IDSYS_AMIGA1200=9,           // Amiga 1200
  131.       IDSYS_AMIGA4000=10,          // Amiga 4000
  132.       IDSYS_DRACO=11,              // DraCo
  133.       IDSYS_UAE=12,                // Ubiquitous Amiga Emulator
  134.       IDSYS_AMIGA4000T=13,         // Amiga 4000 Tower
  135.       IDSYS_AMIGAXL=14             // AmigaXL
  136.  
  137.  
  138. // IDHW_CPU numerical result codes
  139.  
  140. CONST IDCPU_68000=0,               // 68000
  141.       IDCPU_68010=1,               // 68010
  142.       IDCPU_68020=2,               // 68020
  143.       IDCPU_68030=3,               // 68030
  144.       IDCPU_68EC030=4,             // 68EC030 (without MMU)
  145.       IDCPU_68040=5,               // 68040
  146.       IDCPU_68LC040=6,             // 68LC040 (without FPU)
  147.       IDCPU_68060=7,               // 68060
  148.       IDCPU_68LC060=8              // 68LC060 (without FPU)
  149.  
  150.  
  151. // IDHW_FPU numerical result codes
  152.  
  153. CONST IDFPU_NONE=0,                // no FPU
  154.       IDFPU_68881=1,               // 68881
  155.       IDFPU_68882=2,               // 68882
  156.       IDFPU_68040=3,               // 68040
  157.       IDFPU_68060=4                // 68060
  158.  
  159.  
  160. // IDHW_MMU numerical result codes
  161.  
  162. CONST IDMMU_NONE=0,                // no MMU
  163.       IDMMU_68851=1,               // 68851
  164.       IDMMU_68030=2,               // 68030
  165.       IDMMU_68040=3,               // 68040
  166.       IDMMU_68060=4                // 68060
  167.  
  168.  
  169. // IDHW_OSNR numerical result codes
  170.  
  171. CONST IDOS_UNKNOWN=0,              // <V36 or >V40
  172.       IDOS_2_0=1,                  // OS2.0  (V36)
  173.       IDOS_2_04=2,                 // OS2.04 (V37)
  174.       IDOS_2_1=3,                  // OS2.1  (V38)
  175.       IDOS_3_0=4,                  // OS3.0  (V39)
  176.       IDOS_3_1=5,                  // OS3.1  (V40)
  177.       IDOS_3_5=6,                  // OS3.5  (V44)
  178.       IDOS_3_9=7                   // OS3.9  (V45)
  179.  
  180.  
  181. // IDHW_CHIPSET numerical result codes
  182.  
  183. CONST IDCS_OCS=0,                  // OCS
  184.       IDCS_ECS=1,                  // ECS
  185.       IDCS_AGA=2,                  // AGA
  186.       IDCS_ALTAIS=3,               // DraCo Altais
  187.       IDCS_NECS=4                  // Nearly ECS (no HR-Agnus or HR-Denise)
  188.  
  189.  
  190. // IDHW_GFXSYS numerical result codes
  191.  
  192. CONST IDGOS_AMIGAOS=0,             // Plain AmigaOS
  193.       IDGOS_EGS=1,                 // EGS
  194.       IDGOS_RETINA=2,              // Retina
  195.       IDGOS_GRAFFITI=3,            // Graffiti
  196.       IDGOS_TIGA=4,                // TIGA
  197.       IDGOS_PROBENCH=5,            // Merlin ProBench
  198.       IDGOS_PICASSO=6,             // Picasso
  199.       IDGOS_CGX=7,                 // CyberGraphX
  200.       IDGOS_CGX3=8,                // CyberGraphX 3D
  201.       IDGOS_PICASSO96=9,           // Picasso96
  202.       IDGOS_CGX4=10                // CyberGraphX V4
  203.  
  204.  
  205. // IDHW_AUDIOSYS numerical result codes
  206.  
  207. CONST IDAOS_AMIGAOS=0,             // Plain AmigaOS
  208.       IDAOS_MAESTIX=1,             // MaestroPro driver
  209.       IDAOS_TOCCATA=2,             // Toccata driver
  210.       IDAOS_PRELUDE=3,             // Prelude driver
  211.       IDAOS_AHI=4,                 // AHI
  212.       IDAOS_MACROAUDIO=5           // MacroAudio
  213.  
  214.  
  215. // IDHW_GARY numerical result codes
  216.  
  217. CONST IDGRY_NONE=0,                // No Gary available
  218.       IDGRY_NORMAL=1,              // Normal Gary
  219.       IDGRY_ENHANCED=2             // Enhanced Gary
  220.  
  221.  
  222. // IDHW_RAMSEY numerical result codes
  223.  
  224. CONST IDRSY_NONE=0,                // No RamSey available
  225.       IDRSY_REVD=1,                // RamSey Revision D
  226.       IDRSY_REVF=2                 // RamSey Revision F
  227.  
  228.  
  229. // IDHW_POWERPC numerical result codes
  230.  
  231. CONST IDPPC_NONE=0,                // No PowerPC implemented
  232.       IDPPC_OTHER=1,               // Another PowerPC
  233.       IDPPC_602=2,                 // 602
  234.       IDPPC_603=3,                 // 603
  235.       IDPPC_603E=4,                // 603e
  236.       IDPPC_603P=5,                // 603p
  237.       IDPPC_604=6,                 // 604
  238.       IDPPC_604E=7,                // 604e
  239.       IDPPC_620=8                  // 620
  240.  
  241.  
  242. // IDHW_RAMCAS numerical result codes
  243.  
  244. CONST IDCAS_NONE=0,                // Not available
  245.       IDCAS_NORMAL=1,              // Normal access
  246.       IDCAS_DOUBLE=2               // Double access
  247.  
  248.  
  249. // IDHW_TCPIP numerical result codes
  250.  
  251. CONST IDTCP_NONE=0,                // Not available
  252.       IDTCP_AMITCP=1,              // AmiTCP
  253.       IDTCP_MIAMI=2,               // Miami
  254.       IDTCP_TERMITE=3,             // TermiteTCP
  255.       IDTCP_GENESIS=4,             // GENESiS
  256.       IDTCP_MIAMIDX=5              // MiamiDx
  257.  
  258.  
  259. // IDHW_PPCOS numerical result codes
  260.  
  261. CONST IDPOS_NONE=0,                // None
  262.       IDPOS_POWERUP=1,             // PowerUP (Phase 5)
  263.       IDPOS_WARPOS=2               // WarpOS (Haage&Partner)
  264.  
  265.  
  266. // IDHW_AGNUS numerical result codes
  267.  
  268. CONST IDAG_NONE=0,                 // None
  269.       IDAG_UNKNOWN=1,              // Unknown Agnus
  270.       IDAG_8361=2,                 // Agnus 8361
  271.       IDAG_8367=3,                 // Agnus 8367
  272.       IDAG_8370=4,                 // Agnus 8370
  273.       IDAG_8371=5,                 // Agnus 8371
  274.       IDAG_8372_R4=6,              // Agnus 8372 Rev. 1-4
  275.       IDAG_8372_R5=7,              // Agnus 8372 Rev. 5
  276.       IDAG_8374_R2=8,              // Alice 8374 Rev. 1-2
  277.       IDAG_8374_R3=9               // Alice 8374 Rev. 3-4
  278.  
  279.  
  280. // IDHW_DENISE numerical result codes
  281.  
  282. CONST IDDN_NONE=0,                 // None
  283.       IDDN_UNKNOWN=1,              // Unknown Denise (new model?! :-)
  284.       IDDN_8362=2,                 // Denise 8362
  285.       IDDN_8373=3,                 // Denise 8373
  286.       IDDN_8364=4                  // Lisa 8364
  287.  
  288.  
  289. // IDHW_AGNUSMODE numerical result codes
  290.  
  291. CONST IDAM_NONE=0,                 // None
  292.       IDAM_NTSC=1,                 // NTSC Agnus
  293.       IDAM_PAL=2                   // PAL Agnus
  294.  
  295.  
  296. // IDTAG_ClassID numerical result codes
  297.  
  298. CONST IDCID_UNKNOWN=0,             // unknown functionality
  299.       IDCID_MISC=1,                // miscellaneous expansion
  300.       IDCID_TURBO=2,               // accelerator
  301.       IDCID_TURBORAM=3,            // accelerator RAM
  302.       IDCID_TURBOHD=4,             // accelerator + some HD controller
  303.       IDCID_TURBOIDE=5,            // accelerator + AT-IDE controller
  304.       IDCID_TURBOSCSIHD=6,         // accelerator + SCSI host adapter
  305.       IDCID_NET=7,                 // some network
  306.       IDCID_ARCNET=8,              // ArcNet
  307.       IDCID_ETHERNET=9,            // Ethernet
  308.       IDCID_AUDIO=10,              // audio
  309.       IDCID_VIDEO=11,              // video (video digitizer etc)
  310.       IDCID_MULTIMEDIA=12,         // multimedia (audio, video, etc)
  311.       IDCID_DSP=13,                // multi purpose DSP
  312.       IDCID_BUSBRIDGE=14,          // ISA bus bridge
  313.       IDCID_BRIDGE=15,             // PC bridge
  314.       IDCID_EMULATOR=16,           // some Emulator hardware
  315.       IDCID_MACEMU=17,             // Macintosh emulator hardware
  316.       IDCID_ATARIEMU=18,           // Atari emulator hardware
  317.       IDCID_GFX=19,                // graphics (register)
  318.       IDCID_GFXRAM=20,             // graphics (video RAM)
  319.       IDCID_HD=21,                 // some HD controller
  320.       IDCID_HDRAM=22,              // some HD controller + RAM
  321.       IDCID_IDEHD=23,              // IDE controller
  322.       IDCID_IDEHDRAM=24,           // IDE controller + RAM
  323.       IDCID_SCSIHD=25,             // SCSI host adapter
  324.       IDCID_RAMSCSIHD=26,          // SCSI host adapter + RAM
  325.       IDCID_CDROM=27,              // CD-ROM interface
  326.       IDCID_MODEM=28,              // internal modem
  327.       IDCID_ISDN=29,               // internal ISDN terminal adapter
  328.       IDCID_MULTIIO=30,            // multi I/O (serial + parallel)
  329.       IDCID_SERIAL=31,             // multi serial (no parallel)
  330.       IDCID_PARALLEL=32,           // multi parallel (no serial)
  331.       IDCID_SCANIF=33,             // scanner interface
  332.       IDCID_TABLET=34,             // drawing tablet interface
  333.       IDCID_RAM=35,                // plain RAM expansion
  334.       IDCID_FLASHROM=36,           // Flash ROM
  335.       IDCID_SCSIIDE=37,            // combined SCSI/IDE controller
  336.       IDCID_RAMFPU=38,             // RAM expansion + FPU
  337.       IDCID_GUESS=39,              // name was unknown but guessed
  338.       IDCID_KICKSTART=40,          // KickStart
  339.       IDCID_RAM32=41,              // 32bit RAM expansion
  340.       IDCID_TURBOANDRAM=42,        // accelerator + RAM expansion
  341.       IDCID_ACCESS=43,             // access control
  342.       IDCID_INTERFACE=44,          // some interface
  343.       IDCID_MFMHD=45,              // MFM HD controller
  344.       IDCID_FLOPPY=46              // floppy disk controller
  345.         // Be prepared to get other numbers as well. In this case you
  346.         // should assume IDCID_MISC.
  347.  
  348. // Error codes
  349.  
  350.                                    // Positive error codes are DOS errors!
  351. CONST IDERR_OKAY=0,                // No error
  352.       IDERR_NOLENGTH=-1,           // Buffer length is 0 ??
  353.       IDERR_BADID=-2,              // Missing or bad board ID
  354.       IDERR_NOMEM=-3,              // Not enough memory
  355.       IDERR_NOFD=-4,               // No fitting FD file found
  356.       IDERR_OFFSET=-5,             // Function offset not found
  357.       IDERR_DONE=-6,               // Done with traversing (not an error)
  358.       IDERR_SECONDARY=-7           // Secondary expansion board (not an error)
  359.